function animate(obj, target, callback) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function () {
        // 每次计时器进行 都计算下一步的速度 （步长）
        var step =(target - obj.offsetLeft) / 10;
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        // 到目标距离就停止
        if (obj.offsetLeft == target) {
            clearInterval(obj.timer);
            // 因为是在函数结束时执行所以需要写在函数结束的地方
            // 加一个判断条件是为了有时候不需要最后一个参数
            // if (callback) {
            //     callback();
            // }
            callback && callback();
        } else {
            // 将每次固定移动1改为每次由快到慢的步长公式 (target - obj.offsetLeft) / 10;
            // obj.style.left = obj.offsetLeft + 1 + 'px';
            obj.style.left = obj.offsetLeft + step + 'px';
        }
    }, 15);
}